home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / PInterfaces / GXEnvironment.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  7.9 KB  |  244 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        GXEnvironment.p
  3.  
  4.      Contains:    QuickDraw GX environment constants and interfaces
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1994-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT GXEnvironment;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __GXENVIRONMENT__}
  27. {$SETC __GXENVIRONMENT__ := 1}
  28.  
  29. {$I+}
  30. {$SETC GXEnvironmentIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __CONDITIONALMACROS__}
  34. {$I ConditionalMacros.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __MIXEDMODE__}
  37. {$I MixedMode.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __QUICKDRAW__}
  40. {$I Quickdraw.p}
  41. {$ENDC}
  42. {$IFC UNDEFINED __GXTYPES__}
  43. {$I GXTypes.p}
  44. {$ENDC}
  45. {$IFC UNDEFINED __CMAPPLICATION__}
  46. {$I CMApplication.p}
  47. {$ENDC}
  48.  
  49.  
  50. {$PUSH}
  51. {$ALIGN MAC68K}
  52. {$LibExport+}
  53.  
  54.  
  55. CONST
  56.     defaultPollingHandlerFlags    = $00;
  57.     okToSwitchDuringPollFlag    = $00;
  58.     dontSwitchDuringPollFlag    = $01;
  59.  
  60.  
  61. TYPE
  62.     gxPollingHandlerFlags                = LONGINT;
  63. {$IFC TYPED_FUNCTION_POINTERS}
  64.     gxPollingHandlerProcPtr = PROCEDURE(reference: LONGINT; flags: gxPollingHandlerFlags); C;
  65. {$ELSEC}
  66.     gxPollingHandlerProcPtr = ProcPtr;
  67. {$ENDC}
  68.  
  69.     gxPollingHandlerUPP = UniversalProcPtr;
  70.  
  71. CONST
  72.     uppgxPollingHandlerProcInfo = $000003C1;
  73.  
  74. FUNCTION NewgxPollingHandlerProc(userRoutine: gxPollingHandlerProcPtr): gxPollingHandlerUPP;
  75.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  76.     INLINE $2E9F;
  77.     {$ENDC}
  78.  
  79. PROCEDURE CallgxPollingHandlerProc(reference: LONGINT; flags: gxPollingHandlerFlags; userRoutine: gxPollingHandlerUPP);
  80.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  81.     {To be implemented:  Glue to move parameters into registers.}
  82.     {$ENDC}
  83. FUNCTION GXGetGraphicsPollingHandler(VAR reference: LONGINT): gxPollingHandlerUPP; C;
  84. PROCEDURE GXSetGraphicsPollingHandler(handler: gxPollingHandlerUPP; reference: LONGINT); C;
  85.  
  86. { QD to QD GX Translator typedefs }
  87.  
  88. CONST
  89.     gxDefaultOptionsTranslation    = $0000;
  90.     gxOptimizedTranslation        = $0001;
  91.     gxReplaceLineWidthTranslation = $0002;
  92.     gxSimpleScalingTranslation    = $0004;
  93.     gxSimpleGeometryTranslation    = $0008;                        {  implies simple scaling  }
  94.     gxSimpleLinesTranslation    = $000C;                        {  implies simple geometry & scaling  }
  95.     gxLayoutTextTranslation        = $0010;                        {  turn on gxLine layout (normally off)  }
  96.     gxRasterTargetTranslation    = $0020;
  97.     gxPostScriptTargetTranslation = $0040;
  98.     gxVectorTargetTranslation    = $0080;
  99.     gxPDDTargetTranslation        = $0100;
  100.     gxDontConvertPatternsTranslation = $1000;
  101.     gxDontSplitBitmapsTranslation = $2000;
  102.  
  103.  
  104. TYPE
  105.     gxTranslationOption                    = LONGINT;
  106.  
  107. CONST
  108.     gxContainsFormsBegin        = $0001;
  109.     gxContainsFormsEnd            = $0002;
  110.     gxContainsPostScript        = $0004;
  111.     gxContainsEmptyPostScript    = $0008;
  112.  
  113.  
  114. TYPE
  115.     gxTranslationStatistic                = LONGINT;
  116.  
  117. CONST
  118.     gxQuickDrawPictTag            = 'pict';
  119.  
  120.  
  121. TYPE
  122.     gxQuickDrawPictPtr = ^gxQuickDrawPict;
  123.     gxQuickDrawPict = RECORD
  124.                                                                         {  translator inputs  }
  125.         options:                gxTranslationOption;
  126.         srcRect:                Rect;
  127.         styleStretch:            Point;
  128.                                                                         {  size of quickdraw picture data  }
  129.         dataLength:                UInt32;
  130.                                                                         {  file alias  }
  131.         alias:                    gxBitmapDataSourceAlias;
  132.     END;
  133.  
  134. { WindowRecord utilities }
  135. FUNCTION GXNewWindowViewPort(qdWindow: WindowPtr): gxViewPort; C;
  136. FUNCTION GXGetWindowViewPort(qdWindow: WindowPtr): gxViewPort; C;
  137. FUNCTION GXGetViewPortWindow(portOrder: gxViewPort): WindowPtr; C;
  138. { GDevice utilities }
  139. FUNCTION GXGetViewDeviceGDevice(theDevice: gxViewDevice): GDHandle; C;
  140. FUNCTION GXGetGDeviceViewDevice(qdGDevice: GDHandle): gxViewDevice; C;
  141. { gxPoint utilities }
  142. PROCEDURE GXConvertQDPoint({CONST}VAR shortPt: Point; portOrder: gxViewPort; VAR fixedPt: gxPoint); C;
  143.  
  144. TYPE
  145. {$IFC TYPED_FUNCTION_POINTERS}
  146.     gxShapeSpoolProcPtr = FUNCTION(toSpool: gxShape; refCon: LONGINT): OSErr; C;
  147. {$ELSEC}
  148.     gxShapeSpoolProcPtr = ProcPtr;
  149. {$ENDC}
  150.  
  151. { printing utilities typedef }
  152. {$IFC TYPED_FUNCTION_POINTERS}
  153.     gxUserViewPortFilterProcPtr = PROCEDURE(toFilter: gxShape; portOrder: gxViewPort; refCon: LONGINT); C;
  154. {$ELSEC}
  155.     gxUserViewPortFilterProcPtr = ProcPtr;
  156. {$ENDC}
  157.  
  158. {$IFC TYPED_FUNCTION_POINTERS}
  159.     gxConvertQDFontProcPtr = FUNCTION(dst: gxStyle; txFont: LONGINT; txFace: LONGINT): LONGINT; C;
  160. {$ELSEC}
  161.     gxConvertQDFontProcPtr = ProcPtr;
  162. {$ENDC}
  163.  
  164.     gxShapeSpoolUPP = UniversalProcPtr;
  165.     gxUserViewPortFilterUPP = UniversalProcPtr;
  166.     gxConvertQDFontUPP = UniversalProcPtr;
  167.  
  168. CONST
  169.     uppgxShapeSpoolProcInfo = $000003E1;
  170.     uppgxUserViewPortFilterProcInfo = $00000FC1;
  171.     uppgxConvertQDFontProcInfo = $00000FF1;
  172.  
  173. FUNCTION NewgxShapeSpoolProc(userRoutine: gxShapeSpoolProcPtr): gxShapeSpoolUPP;
  174.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  175.     INLINE $2E9F;
  176.     {$ENDC}
  177.  
  178. FUNCTION NewgxUserViewPortFilterProc(userRoutine: gxUserViewPortFilterProcPtr): gxUserViewPortFilterUPP;
  179.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  180.     INLINE $2E9F;
  181.     {$ENDC}
  182.  
  183. FUNCTION NewgxConvertQDFontProc(userRoutine: gxConvertQDFontProcPtr): gxConvertQDFontUPP;
  184.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  185.     INLINE $2E9F;
  186.     {$ENDC}
  187.  
  188. FUNCTION CallgxShapeSpoolProc(toSpool: gxShape; refCon: LONGINT; userRoutine: gxShapeSpoolUPP): OSErr;
  189.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  190.     {To be implemented:  Glue to move parameters into registers.}
  191.     {$ENDC}
  192.  
  193. PROCEDURE CallgxUserViewPortFilterProc(toFilter: gxShape; portOrder: gxViewPort; refCon: LONGINT; userRoutine: gxUserViewPortFilterUPP);
  194.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  195.     {To be implemented:  Glue to move parameters into registers.}
  196.     {$ENDC}
  197.  
  198. FUNCTION CallgxConvertQDFontProc(dst: gxStyle; txFont: LONGINT; txFace: LONGINT; userRoutine: gxConvertQDFontUPP): LONGINT;
  199.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  200.     {To be implemented:  Glue to move parameters into registers.}
  201.     {$ENDC}
  202.  
  203. TYPE
  204.     gxShapeSpoolFunction                = gxShapeSpoolProcPtr;
  205.     gxUserViewPortFilter                = gxUserViewPortFilterProcPtr;
  206.     gxConvertQDFontFunction                = gxConvertQDFontProcPtr;
  207. { mouse utilities }
  208. { return mouse location in fixed-gxPoint global space }
  209. PROCEDURE GXGetGlobalMouse(VAR globalPt: gxPoint); C;
  210. { return fixed-gxPoint local mouse (gxViewPort == 0 --> default) }
  211. PROCEDURE GXGetViewPortMouse(portOrder: gxViewPort; VAR localPt: gxPoint); C;
  212. { printing utilities }
  213. FUNCTION GXGetViewPortFilter(portOrder: gxViewPort; VAR refCon: LONGINT): gxUserViewPortFilterUPP; C;
  214. PROCEDURE GXSetViewPortFilter(portOrder: gxViewPort; filter: gxUserViewPortFilterUPP; refCon: LONGINT); C;
  215. { QD to QD GX Translator functions }
  216. PROCEDURE GXInstallQDTranslator(port: GrafPtr; options: gxTranslationOption; {CONST}VAR srcRect: Rect; {CONST}VAR dstRect: Rect; styleStrech: Point; userFunction: gxShapeSpoolUPP; reference: UNIV Ptr); C;
  217. FUNCTION GXRemoveQDTranslator(port: GrafPtr; VAR statistic: gxTranslationStatistic): gxTranslationStatistic; C;
  218. FUNCTION GXConvertPICTToShape(pict: PicHandle; options: gxTranslationOption; {CONST}VAR srcRect: Rect; {CONST}VAR dstRect: Rect; styleStretch: Point; destination: gxShape; VAR stats: gxTranslationStatistic): gxShape; C;
  219. { Find the best GX style given a QD font and face. Called by the QD->GX translator }
  220. FUNCTION GXConvertQDFont(theStyle: gxStyle; txFont: LONGINT; txFace: LONGINT): LONGINT; C;
  221. FUNCTION GXGetConvertQDFont: gxConvertQDFontUPP; C;
  222. PROCEDURE GXSetConvertQDFont(userFunction: gxConvertQDFontUPP); C;
  223.  
  224. TYPE
  225.     gxProfilePoolAttributes                = UInt32;
  226.     gxFlatProfileListItemPtr = ^gxFlatProfileListItem;
  227.     gxFlatProfileListItem = RECORD
  228.         attributes:                gxProfilePoolAttributes;                {  information about this particular profile's source }
  229.         profileRef:                CMProfileRef;                            {  reference to profile, only valid before shape is disposed }
  230.         identifier:                CMProfileIdentifier;                    {  information on how to find the profile upon unflattening }
  231.     END;
  232.  
  233.  
  234. {$ALIGN RESET}
  235. {$POP}
  236.  
  237. {$SETC UsingIncludes := GXEnvironmentIncludes}
  238.  
  239. {$ENDC} {__GXENVIRONMENT__}
  240.  
  241. {$IFC NOT UsingIncludes}
  242.  END.
  243. {$ENDC}
  244.